<article>
    <h1><?php echo $GLOBALS['title'] ?></h1>
    <p>什么是存储引擎？</p>
    <p>关系数据库表是用于存储和组织信息的数据结构，可以将表理解为由行和列组成的表格，类似于Excel的电子表格的形式。有的表简单，有的表复杂，有的表根本不用来存储任何长期的数据，有的表读取时非常快，但是插入数据时去很差；而我们在实际开发过程中，就可能需要各种各样的表，不同的表，就意味着存储不同类型的数据，数据的处理上也会存在着差异，那么。对于MySQL来说，它提供了很多种类型的存储引擎，我们可以根据对数据处理的需求，选择不同的存储引擎，从而最大限度的利用MySQL强大的功能。Mysql的存储引擎有：MyISAM，InnoDB，BDB，Memory，Merge，Archive，Federated，CSV等等。</p>
    <h3>MyISAM(常用)</h3>
    <p>它不支持事务，也不支持外键，查询操作性能强悍，索引压缩，各平台间文件通用，支持表级锁，对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。每个MyISAM在磁盘上存储成3个文件，其中文件名和表名都相同，但是扩展名分别为：</p>
    <ul>
    	<li>frm(存储表定义)</li>
    	<li>MYD(MYData，存储数据)</li>
    	<li>MYI(MYIndex，存储索引)</li>
    </ul>
    <p>数据文件和索引文件可以放置在不同的目录，平均分配IO，获取更快的速度</p>
    <h3>InnoDB(常用)</h3>
    <p>提供更高级的事务处理及外键约束，支持行级锁，如果有事务需求  比如说金融股票类项目使用InnoDB存储引擎。基于磁盘的资源是InnoDB表空间数据文件和它的日志文件，InnoDB 表的大小只受限于操作系统文件的大小，一般为 2GB</p>
    <h4>区别</h4>
    <p>MySQL支持同一时间多个用户访问数据表，MyISAM引擎是表级锁，所以多个用户进行写操作会带来性能下降，InnoDB采用行级锁，可以支持更大的并发操作</p>
</article>